import pandas
import yaml

from get_project_path import project_path


def read_excel(filepath,sheet_name):
    #keep_default_na默认是True,意思是读取空单元格时结果是na
    #所以我们把他设置为False,那么空单元格读取后就是空字符串、
    #engine表示pandas在读取excel时使用的底层引擎，所以装pandas还得装openpyxl
    res=pandas.read_excel(f'{project_path}{filepath}',sheet_name=sheet_name,keep_default_na=False,engine='openpyxl')
    print(res)
    #res结果素具格式不符合pytest参数化时需要的数据格式，所以我们要做数据转换
    #目前我们pytest参数化时都采用的数据格式是一个二维列表，所以我们将res转成二维列表
    lines_count=res.shape[0]#获取总行数
    cols_count =res.shape[1]#获取总列数
    data=[]#data就是用来村塾我们转换之后的数据
    for l in range(lines_count):
        line=[]#存储当前行的数据
        for c in range (cols_count):
          cell_data = res.iloc[l,c]#根据行和列得到某个单元格数据
          line.append(cell_data)
        data.append(line)
    return data
def load_yaml_file(filepath):
    with open(file=f'{project_path}{filepath}',mode='r',encoding='UTF-8') as f:
        content = yaml.load(f,Loader=yaml.FullLoader)
        return content

def write_yaml(filepath, content):
        with open(file=f'{project_path}{filepath}', mode='w', encoding='UTF-8') as f:
            yaml.dump(content, f, Dumper=yaml.Dumper)



if __name__ == '__main__':
   # print(read_excel('/data/mtxshopdata.xlsx','添加购物车测试数据'))
   print(load_yaml_file('/config/common.yml'))
